#ifndef AI_FACIAL_DATA_STORE_H__
#define AI_FACIAL_DATA_STORE_H__

#include <iostream>
#include <vector>
#include "../base/messages.hpp"

namespace ai::facial_recognition {

    class DataStore {
    public:
        DataStore(std::string db_uri);

        ~DataStore();

        // 保存人脸特征值
        int save_face_feature(std::string face_feature, int face_feature_length);

        // 获取已保存的所有的人脸特征值
        std::vector <FaceFeatureInfo> get_all_face_features();

        // 保存成员信息
        int save_member_info(int member_id, std::string member_name, std::string face_feature, int face_feature_size);

        int delete_member_info(int member_id);

        // 保存设备信息
        int save_device_info(int device_id, const std::string& device_name, int device_type, const std::string&  rtsp_url);

        // 获取已保存的所有的设备信息
        std::vector <DeviceInfo> get_all_devices();

    private:
        const std::string SQLITE_DB_URI;

    };

} // namespace

#endif // AI_FACIAL_DATA_STORE_H__